package com.cyj.dream.core.util.codec;

import cn.hutool.core.codec.Base62;
import cn.hutool.core.lang.Console;

/**
 * @Description: hutool的base62加密
 * @BelongsProject: DreamChardonnay
 * @BelongsPackage: com.cyj.dream.core.util.codec
 * @Author: ChenYongJia
 * @CreateTime: 2021-09-26 13:31
 * @Email: chen87647213@163.com
 * @Version: 1.0
 */
public class Base62HuUtils {

    /**
     * Base62编码是由10个数字、26个大写英文字母和26个小写英文字母组成，多用于安全领域和短URL生成。
     * Base62 加密字符串
     *
     * @param str
     * @return
     */
    public static String enCode(String str) {
        return Base62.encode(str);
    }

    /**
     * Base62 解密字符串
     *
     * @param str
     * @return
     */
    public static String deCodeStr(String str) {
        return Base62.decodeStr(str);
    }

    /**
     * 模拟调用 hutool 封装的 Base62 工具类
     *
     * @param args
     */
    public static void main(String[] args) {
        String a = "伦家是一个非常长的字符串";
        //5Lym5a625piv5LiA5Liq6Z2e5bi46ZW/55qE5a2X56ym5Liy
        Console.log(Base62HuUtils.enCode(a));

        // 还原为a
        Console.log(Base62HuUtils.deCodeStr(Base62HuUtils.enCode(a)));

    }

}
